//获取鼠标指针的当前坐标值
export const pos = function (o, x, y, event,doms) {
    var posX = 0, posY = 0;
    // var e = event || window.event;
    // if (e.offsetX || e.offsetY) {   //相对于触发事件对象盒子距离
    //     posX = e.offsetX;
    //     posY = e.offsetY;
    // } else if (e.clientX || e.clientY) {
    //     posX = event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
    //     posY = event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
    // }
    let {left,width} = doms.$el.getBoundingClientRect()

    o.$el.style.position = "absolute";
    o.$el.style.left = (posX + left + width) + "px";
    o.$el.style.top = '50px' //(posY + y) + "px";   

}

export const deepCopy = (obj = {}) => {
    let newobj = null;

    //判断是否需要继续进行递归
    if (typeof (obj) == 'object' && obj !== null) {
        newobj = obj instanceof Array ? [] : {};
        for (var i in obj) {
            newobj[i] = deepCopy(obj[i])
        }
    } else newobj = obj;
    return newobj;
}

export const dateTimeFormatter = function (date, format) {
    // 时间格式化辅助函数 date:毫秒数(number类型) format:'yyyy-MM-dd hh:mm:ss'
    // toUTCString() 方法可根据世界时 (UTC) 把 Date 对象转换为字符串，并返回结果。
    if (!date || date == '' || date.toUTCString() == 'Invalid Date') {
        return '';
    }
    date = new Date(date);
    const map = {
        'M': date.getMonth() + 1, // 月份
        'd': date.getDate(), // 日
        'h': date.getHours(), // 小时
        'm': date.getMinutes(), // 分
        's': date.getSeconds(), // 秒
        'q': Math.floor((date.getMonth() + 3) / 3), // 季度
        'S': date.getMilliseconds() // 毫秒
    };
    format = format.replace(/([yMdhmsqS])+/g, (all, t) => {
        let v = map[t];
        if (v !== undefined) {
            if (all.length > 1) {
                v = '0' + v;
                v = v.substr(v.length - 2);
            }
            return v;
        } else if (t === 'y') {
            return (date.getFullYear() + '').substr(4 - all.length);
        }
        return all;
    });
    return format;
}